namespace ext.data
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// This is s static class containing the system-supplied data types which may be given to a {@link Ext.data.Field Field}.   The properties in this class are used as type indicators in the {@link Ext.data.Field Field} class, so to
	/// test whether a Field is of a certain type, compare the {@link Ext.data.Field#type type} property against properties
	/// of this class.  Developers may add their own application-specific data types to this class. Definition names must be UPPERCASE.
	/// each type definition must contain three properties:    convert : Function A function to convert raw data values from a data block into the data
	/// to be stored in the Field. The function is passed the collowing parameters:
	///   v : Mixed The data value as read by the Reader, if undefined will use
	/// the configured {@link Ext.data.Field#defaultValue defaultValue}.   rec : Mixed The data object containing the row as read by the Reader.
	/// Depending on the Reader type, this could be an Array ({@link Ext.data.ArrayReader...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;This is s static class containing the system-supplied data types which may be given to a {@link Ext.data.Field Field}.&lt;p/&gt;
	/// &lt;p&gt;The properties in this class are used as type indicators in the {@link Ext.data.Field Field} class, so to
	/// test whether a Field is of a certain type, compare the {@link Ext.data.Field#type type} property against properties
	/// of this class.&lt;/p&gt;
	/// &lt;p&gt;Developers may add their own application-specific data types to this class. Definition names must be UPPERCASE.
	/// each type definition must contain three properties:&lt;/p&gt;
	/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;code&gt;convert&lt;/code&gt; : &lt;i&gt;Function&lt;/i&gt;&lt;div class=&quot;sub-desc&quot;&gt;A function to convert raw data values from a data block into the data
	/// to be stored in the Field. The function is passed the collowing parameters:
	/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;b&gt;v&lt;/b&gt; : Mixed&lt;div class=&quot;sub-desc&quot;&gt;The data value as read by the Reader, if undefined will use
	/// the configured &lt;tt&gt;{@link Ext.data.Field#defaultValue defaultValue}&lt;/tt&gt;.&lt;/div&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;rec&lt;/b&gt; : Mixed&lt;div class=&quot;sub-desc&quot;&gt;The data object containing the row as read by the Reader.
	/// Depending on the Reader type, this could be an Array ({@link Ext.data.ArrayReader ArrayReader}), an object
	/// ({@link Ext.data.JsonReader JsonReader}), or an XML element ({@link Ext.data.XMLReader XMLReader}).&lt;/div&gt;&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;code&gt;sortType&lt;/code&gt; : &lt;i&gt;Function&lt;/i&gt; &lt;div class=&quot;sub-desc&quot;&gt;A function to convert the stored data into comparable form, as defined by {@link Ext.data.SortTypes}.&lt;/div&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;code&gt;type&lt;/code&gt; : &lt;i&gt;String&lt;/i&gt; &lt;div class=&quot;sub-desc&quot;&gt;A textual data type name.&lt;/div&gt;&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// &lt;p&gt;For example, to create a VELatLong field (See the Microsoft Bing Mapping API) containing the latitude/longitude value of a datapoint on a map from a JsonReader data block
	/// which contained the properties &lt;code&gt;lat&lt;/code&gt; and &lt;code&gt;long&lt;/code&gt;, you would define a new data type like this:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// // Add a new Field data type which stores a VELatLong object in the Record.
	/// Ext.data.Types.VELATLONG = {
	/// convert: function(v, data) {
	/// return new VELatLong(data.lat, data.long);
	/// },
	/// sortType: function(v) {
	/// return v.Latitude; // When sorting, order by latitude
	/// },
	/// type: &apos;VELatLong&apos;
	/// };
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;p&gt;Then, when declaring a Record, use &lt;pre&gt;&lt;code&gt;
	/// var types = Ext.data.Types; // allow shorthand type access
	/// UnitRecord = Ext.data.Record.create([
	/// { name: &apos;unitName&apos;, mapping: &apos;UnitName&apos; },
	/// { name: &apos;curSpeed&apos;, mapping: &apos;CurSpeed&apos;, type: types.INT },
	/// { name: &apos;latitude&apos;, mapping: &apos;lat&apos;, type: types.FLOAT },
	/// { name: &apos;latitude&apos;, mapping: &apos;lat&apos;, type: types.FLOAT },
	/// { name: &apos;position&apos;, type: types.VELATLONG }
	/// ]);
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\data\Types.js</definedin>
	[ScriptName("Types")]
	[ScriptNamespace("Ext.data")]
	[Imported()]
	public partial class Types
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		internal Types()
		{
		}
		#endregion
		
		#region Properties
		/// <summary>
		/// A regular expression for stripping non-numeric characters from a numeric value. Defaults to /[\$,%]/g.
		/// This should be overridden for localization.
		/// </summary>
		/// <htmlSummary>
		/// A regular expression for stripping non-numeric characters from a numeric value. Defaults to &lt;tt&gt;/[\$,%]/g&lt;/tt&gt;.
		/// This should be overridden for localization.
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("stripRe")]
		[IntrinsicProperty()]
		public System.RegularExpression StripRe
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>This data type means that no conversion is applied to the raw data before it is placed into a Record.</summary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("AUTO")]
		[IntrinsicProperty()]
		public object AUTO
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>This data type means that the raw data is converted into a String before it is placed into a Record.</summary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("STRING")]
		[IntrinsicProperty()]
		public object STRING
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into an integer before it is placed into a Record.
		/// The synonym INTEGER is equivalent.
		/// </summary>
		/// <htmlSummary>
		/// This data type means that the raw data is converted into an integer before it is placed into a Record.
		/// &lt;p&gt;The synonym &lt;code&gt;INTEGER&lt;/code&gt; is equivalent.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("INT")]
		[IntrinsicProperty()]
		public object INT
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into a number before it is placed into a Record.
		/// The synonym NUMBER is equivalent.
		/// </summary>
		/// <htmlSummary>
		/// This data type means that the raw data is converted into a number before it is placed into a Record.
		/// &lt;p&gt;The synonym &lt;code&gt;NUMBER&lt;/code&gt; is equivalent.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("FLOAT")]
		[IntrinsicProperty()]
		public object FLOAT
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into a boolean before it is placed into
		/// a Record. The string &quot;true&quot; and the number 1 are converted to boolean true.  The synonym BOOLEAN is equivalent.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;This data type means that the raw data is converted into a boolean before it is placed into
		/// a Record. The string &quot;true&quot; and the number 1 are converted to boolean &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;The synonym &lt;code&gt;BOOLEAN&lt;/code&gt; is equivalent.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("BOOL")]
		[IntrinsicProperty()]
		public object BOOL
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into a Date before it is placed into a Record.
		/// The date format is specified in the constructor of the {@link Ext.data.Field} to which this type is
		/// being applied.
		/// </summary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("DATE")]
		[IntrinsicProperty()]
		public object DATE
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into a boolean before it is placed into
		/// a Record. The string &quot;true&quot; and the number 1 are converted to boolean true.  The synonym BOOL is equivalent.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;This data type means that the raw data is converted into a boolean before it is placed into
		/// a Record. The string &quot;true&quot; and the number 1 are converted to boolean &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;The synonym &lt;code&gt;BOOL&lt;/code&gt; is equivalent.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("BOOLEAN")]
		[IntrinsicProperty()]
		public object BOOLEAN
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into an integer before it is placed into a Record.
		/// The synonym INT is equivalent.
		/// </summary>
		/// <htmlSummary>
		/// This data type means that the raw data is converted into an integer before it is placed into a Record.
		/// &lt;p&gt;The synonym &lt;code&gt;INT&lt;/code&gt; is equivalent.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("INTEGER")]
		[IntrinsicProperty()]
		public object INTEGER
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>
		/// This data type means that the raw data is converted into a number before it is placed into a Record.
		/// The synonym FLOAT is equivalent.
		/// </summary>
		/// <htmlSummary>
		/// This data type means that the raw data is converted into a number before it is placed into a Record.
		/// &lt;p&gt;The synonym &lt;code&gt;FLOAT&lt;/code&gt; is equivalent.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\data\Types.js</definedin>
		[ScriptName("NUMBER")]
		[IntrinsicProperty()]
		public object NUMBER
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		#endregion
	}
}
